package com.lmind.core.message;

import com.lmind.core.async.ResultHandler;

/**
 * 异步消息处理器
 * @author 刘勉
 *
 * @param <C> 消息上下文类型
 * @param <M> 消息类型
 */
public interface AsyncMessageProcessor<C, M> {

	/**
	 * 处理一个消息<br/>
	 * 
	 * @param context 消息上下文
	 * @param message 消息内容
	 * @param handler 如果此对象不为空,则表示请求需要响应，可以通过此接口异步返回结果<br/>
	 * 如果handler是null,否则无须返回结果
	 */
	void process(C context, M message, ResultHandler<M> handler);
}

